import pymysql

from common.config import host
from common.dolog import Dolog

dolog=Dolog()
myLog=dolog.getLogger(__name__)
class DoDB():
    def __init__(self):
        #数据库连接对象
        try:
            self.db=pymysql.Connection(user='root',password='123456',host=host,port=3306,database='crm9')
        except Exception as e:
            print(f'连接异常，异常信息是{e}')
            myLog.error(f'连接异常，异常信息是{e}')
        else:
            #获取一个处理数据/执行sql语句的对象
            self.runner = self.db.cursor()
            print('未发生异常，连接成功')
            myLog.info('未发生异常，连接成功')
        finally:
            print('数据库连接结束')
            myLog.info('数据库连接结束')

    def doselectSQL(self,sql):
        try:
            #执行sql语句
            self.runner.execute(sql)
        except Exception as e:
            print(f'执行SQL语句{sql}异常，异常信息是{e}')
            myLog.error(f'执行SQL语句{sql}异常，异常信息是{e}')
        else:
            #获取数据
            #获取全部：fetchall()
            #获取一个：fetchone()
            #获取部分：fetchmany()

            s1=self.runner.fetchall()
            print('未发生异常，执行成功')
            myLog.info('未发生异常，执行成功')
            # print(len(s1),type(s1),s1,sep='\n')
            return s1
        finally:
            self.runner.close()
            self.db.close()
            print('SQL语句执行结束')
            myLog.info('SQL语句执行结束')




if __name__ == '__main__':
    db=DoDB()
    sql = 'SELECT * from 72crm_oa_log;'
    t=db.doSQL(sql)
    for i in t:
        print(i[0])